using System;

namespace Gadgeteer.Interfaces.Led
{
    /// <summary>
    /// Multi color led requirements.
    /// </summary>
    public interface IMultiColorLed : ILed
    {
        /// <summary>
        ///  Changes the color of the LED to blue, stopping a blink or fade if one is in progress.
        /// </summary>
        void TurnBlue();

        /// <summary>
        /// Changes the color of the LED to green, stopping a blink or fade if one is in progress.
        /// </summary>
        void TurnGreen();

        /// <summary>
        /// Changes the color of the LED to Red, stopping a blink or fade if one is in progress.
        /// </summary>
        void TurnRed();

        /// <summary>
        /// Changes the color of the LED to White, stopping a blink or fade if one is in progress.
        /// </summary>
        void TurnWhite();

        /// <summary>
        /// Changes the color of the LED to the specified color, stopping a blink or fade if one is in progress.
        /// </summary>
        void TurnColor(Color color);
    }
}
